//Kathryn Glowinski
//ScheduleIndividual.h
//Declaration of the schedule individual

#ifndef SCHEDULEINDIVIDUAL_H_
#define SCHEDULEINDIVIDUAL_H_

#include <vector>
#include <string>
#include "scheduleconflicts.h"
#include <QStringList>

using namespace std;

class ScheduleIndividual {

public:

        ScheduleIndividual(int, ScheduleConflicts* sCons, int);
        ~ScheduleIndividual();
        void populateRandomly();
        void populateFromList(QStringList);
        string print();
        double calculateFitness();
        double getFitness();
        void createChild();
        void reproduce(ScheduleIndividual*, ScheduleIndividual*, int);
        double fRand(double, double);
        ScheduleIndividual* clone();

        vector<int>* myVec;

private:
        double myFit;
        double mySize;
        ScheduleConflicts* sc;
        int times;
};


#endif /* SCHEDULEINDIVIDUAL_H_ */
